function addDisciplina(){
    var disciplina = $('#ID_DISCIPLINA').val();
    var turma = $('#Turma').val().toUpperCase();
    if (turma == null || turma == ''){
        turma = 'U';
    }
    var professor = $('#Professor').val();
    if (professor == ''){
        $('#Professor').focus();
        return;
    }
    if ($('#'+disciplina).length > 0){
        if ($('#'+disciplina+' .turma').text() == turma){
            $('#Turma').focus();
            return;
        }
    }
    var dias = '';
    var ini = $('#HR_INI').val();
    var fim = $('#HR_FIM').val();
    if (parseInt(ini) == parseInt(fim)){
        return;
    }else if (parseInt(ini) > parseInt(fim)){
        $('#HR_FIM').focus();
        return;
    }
    var capacidade = $('#Capacidade').val();
    if (capacidade == ''){
        $('#Capacidade').focus();
        return;
    }
    var finalidade = $('#Finalidade').val();
    var finalidadeText = '';
    var recursos = '';
    
    $('input.dias:checked').each(function(){
        if (dias == ''){
            dias += getDiaFromInt($(this).val());
        }else{
            dias += '/' + getDiaFromInt($(this).val());
        }
    });
    if (dias == ''){
        return;
    }
    $('#Finalidade option').each(function(){
        if (finalidade == $(this).val()){
            finalidadeText = $(this).text();
        }
    });
    $('input.Recurso:checked').each(function(){
        var id = this.id;
        var qtdeId = 'RecursoQtde_'+parseInt(id.substring(id.indexOf('_')+1));
        var qtdeVal = $("#"+qtdeId).val();
        qtdeVal = qtdeVal == '' ? 1 : qtdeVal;
        var recursoVal = $(this).val();
        if (recursos == ''){
            recursos += recursoVal + '-' + qtdeVal;
        }else{
            recursos += '/' + recursoVal + '-' + qtdeVal;
        }
        
    });
    
    addRow(disciplina, turma, dias, ini, fim, finalidade, finalidadeText, recursos, capacidade, professor);
}
function getHoraFromInt(value){
    if (value.length == 3){
        return value.substring(0,1)+':'+value.substring(1);
    }else{
        return value.substring(0,2)+':'+value.substring(2);
    }
}
function getDiaFromInt(value){
    switch(value){
        case '0':
            return 'Dom';
        case '1':
            return 'Seg';
        case '2':
            return 'Ter';
        case '3':
            return 'Qua';
        case '4':
            return 'Qui';
        case '5':
            return 'Sex';
        case '6':
            return 'Sab';
    }
}

function addRow(disciplina, turma, dias, ini, fim, finalidade, finalidadeText, recursos, capacidade, professor){
    var idRow = disciplina + '-' + turma;
    addRowToTable(idRow);
    setDataToRow(disciplina, turma, dias, ini, fim, finalidade, finalidadeText, recursos, capacidade, professor);
}

function addRowToTable(idRow){
    var imgExcluir = '<img alt="Excluir" src="/alocainf/assets/884ba3ad/gridview/delete.png">';
    var imgEditar = '<img alt="Editar" src="/alocainf/assets/884ba3ad/gridview/update.png">';
    var ct = parseInt($('#counter').val());
    var count = $('table.items tbody tr').length;
    var tbl = $('table.items tbody');
    var exist = $('#'+idRow).text();
    if (exist == null || exist == undefined || exist == ""){
        ct += 1;
        tbl.append(
            '<tr id="'+idRow+'" class="'+(count%2==0?'even':'odd') +'">'+
            '<td class="hidden">'+
            '<input type="hidden" id="disciplina" name="CargaSemestral['+ct+'][disciplina]" value="" />'+
            '<input type="hidden" id="turma" name="CargaSemestral['+ct+'][turma]" value="" />'+
            '<input type="hidden" id="dias" name="CargaSemestral['+ct+'][diasSemana]" value="" />'+
            '<input type="hidden" id="finalidade" name="CargaSemestral['+ct+'][finalidade]" value="" />'+
            '<input type="hidden" id="finalidadeText" name="CargaSemestral['+ct+'][finalidadeText]" value="" />'+
            '<input type="hidden" id="recursos" name="CargaSemestral['+ct+'][recursos]" value="" />'+
            '<input type="hidden" id="ini" name="CargaSemestral['+ct+'][horaIni]" value="" />'+
            '<input type="hidden" id="fim" name="CargaSemestral['+ct+'][horaFim]" value="" />'+
            '<input type="hidden" id="capacidade" name="CargaSemestral['+ct+'][capacidade]" value="" />'+
            '<input type="hidden" id="professor" name="CargaSemestral['+ct+'][professor]" value="" />'+
            '</td>'+
            '<td id="tdDisciplina"> </td>'+
            '<td id="tdTurma" class="turma"> </td>'+
            '<td id="tdDias"> </td>'+
            '<td id="tdIni"> </td>'+
            '<td id="tdFim"> </td>'+
            '<td id="tdFinalidade"> </td>'+
            '<td id="tdCapacidade"> </td>'+
            '<td id="tdProfessor"> </td>'+
            '<td><a href="javascript:edit(\''+idRow+'\');">'+imgEditar+'</a><a href="javascript:remove(\''+idRow+'\');">'+imgExcluir+'</a></td>'+
            '</tr>'
            );
        $('#counter').val(ct);
    }
}

function remove(idRow){
    if (confirm('Remover esta Disciplina?') == true){
        $('#'+idRow).remove();
        var i = 0;
        $('table.items tbody tr').each(function(){
            $(this).toggleClass();
            if (i%2==0){
                $(this).addClass('even');
            }else{
                $(this).addClass('odd');
            }
            i++;
        });
    }
}

function edit(idRow){
    var query = '#'+idRow+' input';
    var disciplina = $(query + '#disciplina').val();
    var turma = $(query + '#turma').val();
    var dias = $(query + '#dias').val();
    var finalidade = $(query + '#finalidade').val();
    var finalidadeText = $(query + '#finalidadeText').val();
    var recursos = $(query + '#recursos').val();
    var ini = $(query + '#ini').val();
    var fim = $(query + '#fim').val();
    var capacidade = $(query + '#capacidade').val();
    var professor = $(query + '#professor').val();
    $('#ID_DISCIPLINA').val(disciplina);
    $('#Turma').val(turma);
    if (dias.indexOf('Dom') != -1) $('#DIAS_0').attr('checked', true); else $('#DIAS_0').attr('checked', false);
    if (dias.indexOf('Seg') != -1) $('#DIAS_1').attr('checked', true); else $('#DIAS_1').attr('checked', false);
    if (dias.indexOf('Ter') != -1) $('#DIAS_2').attr('checked', true); else $('#DIAS_2').attr('checked', false);
    if (dias.indexOf('Qua') != -1) $('#DIAS_3').attr('checked', true); else $('#DIAS_3').attr('checked', false);
    if (dias.indexOf('Qui') != -1) $('#DIAS_4').attr('checked', true); else $('#DIAS_4').attr('checked', false);
    if (dias.indexOf('Sex') != -1) $('#DIAS_5').attr('checked', true); else $('#DIAS_5').attr('checked', false);
    if (dias.indexOf('Sab') != -1) $('#DIAS_6').attr('checked', true); else $('#DIAS_6').attr('checked', false);
    var arrayRecurso = recursos.split('/');
    $('input.Recurso').each(function(){
        var id = this.id;
        var qtdeId = '#RecursoQtde_'+parseInt(id.substring(id.indexOf('_')+1));
        $(this).attr('checked', false);
        $(qtdeId).val('');
        for (var i=0; i<arrayRecurso.length; i++){
            var oidQtd = arrayRecurso[i].split('-');
            if (oidQtd[0] == this.value){
                $(this).attr('checked', true);
                $(qtdeId).val(oidQtd[1]);
            }
            
        }
    });
    $('#Finalidade').val(finalidade);
    $('#Capacidade').val(capacidade);
    $('#Professor').val(professor);
    $('#HR_INI').val(ini);
    $('#HR_FIM').val(fim);
}

function setDataToRow(disciplina, turma, dias, ini, fim, finalidade, finalidadeText, recursos, capacidade, professor){
    var idRow = disciplina + '-' + turma;
    var hrIni = getHoraFromInt(ini);
    var hrFim = getHoraFromInt(fim);
    var queryInput = '#'+idRow+' input';
    var queryTD = '#'+idRow+' td';
    $(queryInput + '#disciplina').val(disciplina);
    $(queryInput + '#turma').val(turma);
    $(queryInput + '#dias').val(dias);
    $(queryInput + '#finalidade').val(finalidade);
    $(queryInput + '#finalidadeText').val(finalidadeText);
    $(queryInput + '#recursos').val(recursos);
    $(queryInput + '#ini').val(ini);
    $(queryInput + '#fim').val(fim);
    $(queryInput + '#capacidade').val(capacidade);
    $(queryInput + '#professor').val(professor);
    $(queryTD + '#tdDisciplina').text(disciplina);
    $(queryTD + '#tdTurma').text(turma);
    $(queryTD + '#tdDias').text(dias);
    $(queryTD + '#tdIni').text(hrIni);
    $(queryTD + '#tdFim').text(hrFim);
    $(queryTD + '#tdFinalidade').text(finalidadeText);
    $(queryTD + '#tdCapacidade').text(capacidade);
    $(queryTD + '#tdProfessor').text(professor);
}

$(document).ready(function(){
    /*** AUTO INCREMENTO DA HORA FINAL ***/
    $("#HR_INI").change(function(){
        var ini = parseInt($("#HR_INI").val());
        var fim = ini;
        if (ini%100 != 0){
            fim += 170;
        } else{
            fim += 130;
        }
        $("#HR_FIM").val(fim);
    });
});
